村庄管理
This commit is contained in:
parent
cdc209485f
commit
9ad7a9e201
|
|
@ -13,8 +13,8 @@ VITE_PROXY_API = /dev-api
|
||||||
|
|
||||||
# http://42.193.40.239:8017/doc.html//线上 http://192.168.110.186:8017/doc.html//本地
|
# http://42.193.40.239:8017/doc.html//线上 http://192.168.110.186:8017/doc.html//本地
|
||||||
|
|
||||||
VITE_PROXY = [ ["/dev-api", "http://42.193.40.239:8017" ],["/dev-img-api", "http://file.sczysoft.com" ]]
|
# VITE_PROXY = [ ["/dev-api", "http://42.193.40.239:8017" ],["/dev-img-api", "http://file.sczysoft.com" ]]
|
||||||
# VITE_PROXY = [ ["/dev-api", "http://192.168.110.186:8017" ],["/dev-img-api", "http://file.sczysoft.com" ]]
|
VITE_PROXY = [ ["/dev-api", "http://192.168.110.186:8017" ],["/dev-img-api", "http://file.sczysoft.com" ]]
|
||||||
#
|
#
|
||||||
VITE_GLOB_UPLOAD_URL=/dev-api
|
VITE_GLOB_UPLOAD_URL=/dev-api
|
||||||
VITE_UPLOAD_IMG_URL=/dev-img-api
|
VITE_UPLOAD_IMG_URL=/dev-img-api
|
||||||
|
|
|
||||||
23
src/api/base.ts
Normal file
23
src/api/base.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
import request from "@/utils/request";
|
||||||
|
|
||||||
|
/**
|
||||||
|
*村庄管理-村庄分页
|
||||||
|
*/
|
||||||
|
export function orgPage(data) {
|
||||||
|
return request({
|
||||||
|
url: `/common/sysorg/orgPage`,
|
||||||
|
method: "GET",
|
||||||
|
params: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*村庄管理-新增或修改村庄
|
||||||
|
*/
|
||||||
|
export function orgAdd(params) {
|
||||||
|
return request({
|
||||||
|
url: `/common/sysorg/orgAdd`,
|
||||||
|
method: "POST",
|
||||||
|
data: params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -42,7 +42,7 @@ export default {
|
||||||
meta: {
|
meta: {
|
||||||
icon: 'point',
|
icon: 'point',
|
||||||
auth: "emer.house",
|
auth: "emer.house",
|
||||||
title: '物资管理',
|
title: '应急仓库',
|
||||||
breadcrumb: true, //是否显示面包屑
|
breadcrumb: true, //是否显示面包屑
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,10 @@ const useUserStore = defineStore(
|
||||||
'user',
|
'user',
|
||||||
{
|
{
|
||||||
state: () => ({
|
state: () => ({
|
||||||
user: localStorage.user || '',
|
user: localStorage.user_df || '',
|
||||||
account: localStorage.account || '',
|
account: localStorage.account_df || '',
|
||||||
token: localStorage.token || '',
|
token: localStorage.token_df || '',
|
||||||
failure_time: localStorage.failure_time || '',
|
failure_time: localStorage.failure_time_df || '',
|
||||||
permissions: []
|
permissions: []
|
||||||
}),
|
}),
|
||||||
getters: {
|
getters: {
|
||||||
|
|
@ -31,12 +31,13 @@ const useUserStore = defineStore(
|
||||||
login(data) {
|
login(data) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
loginIn(data).then(res => {
|
loginIn(data).then(res => {
|
||||||
|
console.log(res,'res====>');
|
||||||
if (res.code == 1) {
|
if (res.code == 1) {
|
||||||
conpanyInfo(res.data.sysuserid).then(result => {
|
conpanyInfo(res.data.sysuserid).then(result => {
|
||||||
localStorage.setItem('user-df', JSON.stringify(res.data))
|
localStorage.setItem('user_df', JSON.stringify(res.data))
|
||||||
localStorage.setItem('account-df', res.data.postName)
|
localStorage.setItem('account_df', res.data.postName)
|
||||||
localStorage.setItem('token-df', res.data.tokenValue)
|
localStorage.setItem('token_df', res.data.tokenValue)
|
||||||
localStorage.setItem('failure_time-df', 1664008260)
|
localStorage.setItem('failure_time_df', 1664008260)
|
||||||
resolve()
|
resolve()
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
reject(error)
|
reject(error)
|
||||||
|
|
@ -53,10 +54,10 @@ const useUserStore = defineStore(
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
const routeStore = useRouteStore()
|
const routeStore = useRouteStore()
|
||||||
const menuStore = useMenuStore()
|
const menuStore = useMenuStore()
|
||||||
localStorage.removeItem('account-df')
|
localStorage.removeItem('account_df')
|
||||||
localStorage.removeItem('token-df')
|
localStorage.removeItem('token_df')
|
||||||
localStorage.removeItem('user-df')
|
localStorage.removeItem('user_df')
|
||||||
localStorage.removeItem('failure_time-df')
|
localStorage.removeItem('failure_time_df')
|
||||||
this.account = ''
|
this.account = ''
|
||||||
this.token = ''
|
this.token = ''
|
||||||
this.failure_time = ''
|
this.failure_time = ''
|
||||||
|
|
|
||||||
|
|
@ -38,9 +38,9 @@ function configRequest(service: {
|
||||||
service.interceptors.request.use(
|
service.interceptors.request.use(
|
||||||
(config: { headers: { [x: string]: string } }) => {
|
(config: { headers: { [x: string]: string } }) => {
|
||||||
// tokencancel 跳转白名单不携带token
|
// tokencancel 跳转白名单不携带token
|
||||||
const token = localStorage.getItem("token");
|
const token = localStorage.getItem("token_df");
|
||||||
const tokencancel = localStorage.getItem('token-cancel');
|
const tokencancel = localStorage.getItem('token-cancel');
|
||||||
let user= JSON.parse(localStorage.getItem("user"));
|
let user= JSON.parse(localStorage.getItem("user_df"));
|
||||||
if (!tokencancel && token) {
|
if (!tokencancel && token) {
|
||||||
// config.headers["userToken"] = token || "";
|
// config.headers["userToken"] = token || "";
|
||||||
config.headers[user.tokenName] = user.tokenValue;
|
config.headers[user.tokenName] = user.tokenValue;
|
||||||
|
|
@ -62,13 +62,13 @@ function configRequest(service: {
|
||||||
const code = (res.data && res.data.code) || res.status;
|
const code = (res.data && res.data.code) || res.status;
|
||||||
const msg = res.data.msg;
|
const msg = res.data.msg;
|
||||||
if (code === 401) {
|
if (code === 401) {
|
||||||
localStorage.setItem('token', "")
|
localStorage.setItem('token_df', "")
|
||||||
} else if (code === 500) {
|
} else if (code === 500) {
|
||||||
alert(msg);
|
alert(msg);
|
||||||
return Promise.reject("error");
|
return Promise.reject("error");
|
||||||
} else if (code == 28) {
|
} else if (code == 28) {
|
||||||
alert("登录状态已过期,请重新登录!");
|
alert("登录状态已过期,请重新登录!");
|
||||||
localStorage.setItem('token', "")
|
localStorage.setItem('token_df', "")
|
||||||
location.reload();
|
location.reload();
|
||||||
} else {
|
} else {
|
||||||
return res.data;
|
return res.data;
|
||||||
|
|
|
||||||
|
|
@ -16,23 +16,43 @@
|
||||||
:model="formData"
|
:model="formData"
|
||||||
class="center-form"
|
class="center-form"
|
||||||
>
|
>
|
||||||
<el-form-item label="村庄名称" prop="cName" style="width: 94%">
|
<el-form-item label="村庄名称" prop="orgname">
|
||||||
<el-input
|
<el-input
|
||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
type="input"
|
type="input"
|
||||||
v-model="formData.cName"
|
v-model="formData.orgname"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="村长姓名" prop="name">
|
<el-form-item prop="superiororgcode" label="所属区域">
|
||||||
<el-input placeholder="请输入" type="input" v-model="formData.name" />
|
<el-cascader
|
||||||
|
ref="cascader"
|
||||||
|
v-model="formData.superiororgcode"
|
||||||
|
placeholder="请选择地区"
|
||||||
|
:options="orgList"
|
||||||
|
:props="{
|
||||||
|
checkStrictly: true,
|
||||||
|
label: 'orgname',
|
||||||
|
value: 'orgcode',
|
||||||
|
}"
|
||||||
|
clearable
|
||||||
|
></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="联系电话" prop="phone">
|
<el-form-item label="负责人" prop="charger">
|
||||||
|
<el-input placeholder="请输入负责人" type="input" v-model="formData.charger" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="联系电话" prop="telephone">
|
||||||
<el-input
|
<el-input
|
||||||
placeholder="请输入"
|
placeholder="请输入联系电话"
|
||||||
type="input"
|
type="input"
|
||||||
v-model="formData.phone"
|
v-model="formData.telephone"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="sortId" label="排序">
|
||||||
|
<el-input-number
|
||||||
|
v-model="formData.sortId"
|
||||||
|
:min="1"
|
||||||
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
@ -40,7 +60,12 @@
|
||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
import { reactive, ref, onMounted, watch } from "vue";
|
import { reactive, ref, onMounted, watch } from "vue";
|
||||||
import { ElMessage, FormInstance, FormRules } from "element-plus";
|
import { ElMessage, FormInstance, FormRules } from "element-plus";
|
||||||
|
import { areaTree } from "@/api/account";
|
||||||
|
import { orgAdd } from "@/api/base";
|
||||||
|
import useUserStore from "@/store/modules/user";
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const user = ref(JSON.parse(userStore.userInfo));
|
||||||
|
const userId = ref(user.value.userId);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
visible: {
|
visible: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
|
@ -49,12 +74,15 @@ const props = defineProps({
|
||||||
form: Object,
|
form: Object,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
const emits = defineEmits(["close"]);
|
const emits = defineEmits(["close"]);
|
||||||
const titleName = ref("新增");
|
const titleName = ref("新增");
|
||||||
// 表单
|
// 表单
|
||||||
const formRef = ref<FormInstance>();
|
const formRef = ref<FormInstance>();
|
||||||
const ruleForm = reactive<FormRules>({
|
const ruleForm = reactive<FormRules>({
|
||||||
itemTitle: [{ required: true, message: "请输入内容", trigger: "blur" }],
|
orgname: [{ required: true, message: "请输入村庄名称", trigger: "blur" }],
|
||||||
|
sortId: [{ required: true, message: "请输入排序", trigger: "blur" }],
|
||||||
|
superiororgcode: [{ required: true, message: "请选择所属地区", trigger: "blur" }],
|
||||||
});
|
});
|
||||||
const formData = ref<any>({});
|
const formData = ref<any>({});
|
||||||
|
|
||||||
|
|
@ -62,25 +90,62 @@ const formData = ref<any>({});
|
||||||
const handleSubmit = () => {
|
const handleSubmit = () => {
|
||||||
formRef.value?.validate((valid) => {
|
formRef.value?.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
let params = {
|
||||||
|
orgname:formData.value.orgname,
|
||||||
|
superiororgcode:'',
|
||||||
|
sortId:formData.value.sortId,
|
||||||
|
charger:formData.value.charger,
|
||||||
|
telephone:formData.value.telephone,
|
||||||
|
orgcode:formData.value.orgcode?formData.value.orgcode:null,
|
||||||
|
};
|
||||||
|
if (formData.value.superiororgcode instanceof Array) {
|
||||||
|
params.superiororgcode = formData.value.superiororgcode[formData.value.superiororgcode.length - 1];
|
||||||
|
}else{
|
||||||
|
params.superiororgcode = formData.value.superiororgcode;
|
||||||
|
};
|
||||||
|
orgAdd(params).then((res: any) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
ElMessage({
|
||||||
|
message: "保存成功",
|
||||||
|
type: "success",
|
||||||
|
});
|
||||||
|
onclone();
|
||||||
|
}else{
|
||||||
|
ElMessage({
|
||||||
|
message: res.message,
|
||||||
|
type: "error",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
//获取地区
|
||||||
|
const orgList = ref([]);
|
||||||
|
const getareaTree = () => {
|
||||||
|
areaTree(userId.value).then((res: any) => {
|
||||||
|
orgList.value = res.data;
|
||||||
|
});
|
||||||
|
};
|
||||||
//关闭弹窗
|
//关闭弹窗
|
||||||
const onclone = () => {
|
const onclone = () => {
|
||||||
formRef.value?.clearValidate();
|
formRef.value?.clearValidate();
|
||||||
formData.value = {};
|
formData.value = {};
|
||||||
emits("close");
|
emits("close");
|
||||||
};
|
};
|
||||||
onMounted(() => {});
|
onMounted(() => {
|
||||||
|
getareaTree();
|
||||||
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => props.form,
|
() => props.form,
|
||||||
(val: any) => {
|
(val: any) => {
|
||||||
titleName.value = val.id ? "编辑" : "新增";
|
titleName.value = val.id ? "编辑" : "新增";
|
||||||
formData.value = JSON.parse(JSON.stringify(val));
|
formData.value = JSON.parse(JSON.stringify(val));
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
<style scoped></style>
|
<style scoped lang="scss">
|
||||||
|
</style>
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 30%">
|
<div style="width: 30%;">
|
||||||
<div>
|
<div>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search"
|
v-model="search"
|
||||||
|
|
@ -55,21 +55,21 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="cName"
|
prop="orgname"
|
||||||
:resizable="true"
|
:resizable="true"
|
||||||
align="center"
|
align="center"
|
||||||
label="村庄名称"
|
label="村庄名称"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
prop="charger"
|
||||||
:resizable="true"
|
:resizable="true"
|
||||||
align="center"
|
align="center"
|
||||||
label="村长"
|
label="负责人"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="phone"
|
prop="telephone"
|
||||||
:resizable="true"
|
:resizable="true"
|
||||||
align="center"
|
align="center"
|
||||||
label="联系电话"
|
label="联系电话"
|
||||||
|
|
@ -89,13 +89,6 @@
|
||||||
<svg-icon name="edit" class="icon"></svg-icon>
|
<svg-icon name="edit" class="icon"></svg-icon>
|
||||||
<span class="edit">编辑</span>
|
<span class="edit">编辑</span>
|
||||||
</span>
|
</span>
|
||||||
<span
|
|
||||||
class="operate"
|
|
||||||
@click="(currentItem = scope.row), (visible = true)"
|
|
||||||
>
|
|
||||||
<svg-icon name="detail" class="icon"></svg-icon>
|
|
||||||
<span class="detail">详情</span>
|
|
||||||
</span>
|
|
||||||
<span class="operate" @click="del(scope.row, '删除')">
|
<span class="operate" @click="del(scope.row, '删除')">
|
||||||
<svg-icon name="delete" class="icon"></svg-icon>
|
<svg-icon name="delete" class="icon"></svg-icon>
|
||||||
<span class="func">删除</span>
|
<span class="func">删除</span>
|
||||||
|
|
@ -119,7 +112,7 @@
|
||||||
<add-edit
|
<add-edit
|
||||||
:visible="dialogVisible"
|
:visible="dialogVisible"
|
||||||
:form="currentItem"
|
:form="currentItem"
|
||||||
@close="(dialogVisible = false), (currentItem = {})"
|
@close="onclone()"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -129,9 +122,11 @@ import { ElMessageBox } from "element-plus";
|
||||||
import { onMounted, reactive, ref } from "vue";
|
import { onMounted, reactive, ref } from "vue";
|
||||||
import AddEdit from "./dialog/add-edit.vue";
|
import AddEdit from "./dialog/add-edit.vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
import { orgPage } from "@/api/base";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
const search = ref([]);
|
const tableDataloading = ref(false);
|
||||||
|
const search = ref('');
|
||||||
const currentPage = ref(1);
|
const currentPage = ref(1);
|
||||||
const pageSize = ref(10);
|
const pageSize = ref(10);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
|
|
@ -152,8 +147,29 @@ const del = (item, tips) => {
|
||||||
type: "warning",
|
type: "warning",
|
||||||
}).then(() => {});
|
}).then(() => {});
|
||||||
};
|
};
|
||||||
|
const getList = () => {
|
||||||
|
tableDataloading.value = true;
|
||||||
|
let params = {
|
||||||
|
limit: pageSize.value,
|
||||||
|
page: currentPage.value,
|
||||||
|
condition: search.value,
|
||||||
|
};
|
||||||
|
orgPage(params).then((res: any) => {
|
||||||
|
tableData.value = res.data.list;
|
||||||
|
total.value = res.data.total;
|
||||||
|
tableDataloading.value = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
onMounted(() => {});
|
//关闭详情弹窗
|
||||||
|
const onclone = () => {
|
||||||
|
dialogVisible.value = false;
|
||||||
|
currentItem.value = {};
|
||||||
|
getList();
|
||||||
|
};
|
||||||
|
onMounted(() => {
|
||||||
|
getList();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
@ -161,17 +177,12 @@ onMounted(() => {});
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0.26042vw;
|
border-radius: 0.26042vw;
|
||||||
box-shadow: 0 0 0.41667vw 0 rgba(8, 33, 85, 0.1);
|
box-shadow: 0 0 0.41667vw 0 rgb(8 33 85 / 10%);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0.83333vw;
|
padding: 0.83333vw;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
overflow-x: hidden !important;
|
overflow-x: hidden !important;
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-o-box-sizing: border-box;
|
|
||||||
-ms-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
.table {
|
.table {
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,15 +117,9 @@
|
||||||
:disabled="props.readonly"
|
:disabled="props.readonly"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
<<<<<<< HEAD:src/views/emergency/equip/inventory/AddWarehouse.vue
|
|
||||||
v-if="addPostFactorForm.equipPhoto"
|
|
||||||
:src="addPostFactorForm.equipPhoto"
|
|
||||||
style="width: 100%; height: 100%;"
|
|
||||||
=======
|
|
||||||
v-if="addForm.equipPhoto"
|
v-if="addForm.equipPhoto"
|
||||||
:src="baseImgUrl + addForm.equipPhoto"
|
:src="baseImgUrl + addForm.equipPhoto"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%;"
|
||||||
>>>>>>> e36af856493c21fdd846c5881a8f69d73962aad5:src/views/emergency/house/dialog/add-equip-dialog.vue
|
|
||||||
/>
|
/>
|
||||||
<el-icon v-else class="avatar-uploader-icon">
|
<el-icon v-else class="avatar-uploader-icon">
|
||||||
<Plus />
|
<Plus />
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="percentage-content">
|
<div class="percentage-content">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div style="margin-bottom: 16px" class="h-layout space-between h-center">
|
<div style="margin-bottom: 16px;" class="h-layout space-between h-center">
|
||||||
<div>
|
<div>
|
||||||
<div class="h-layout">
|
<div class="h-layout">
|
||||||
<div
|
<div
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 30%">
|
<div style="width: 30%;">
|
||||||
<div>
|
<div>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search"
|
v-model="search"
|
||||||
|
|
@ -214,14 +214,18 @@ onMounted(() => {
|
||||||
// flex: auto;
|
// flex: auto;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0.26042vw;
|
border-radius: 0.26042vw;
|
||||||
box-shadow: 0 0 0.41667vw 0 rgba(8, 33, 85, 0.1);
|
box-shadow: 0 0 0.41667vw 0 rgb(8 33 85 / 10%);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0.83333vw;
|
padding: 0.83333vw;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
overflow-x: hidden !important;
|
overflow-x: hidden !important;
|
||||||
|
/* stylelint-disable-next-line property-no-vendor-prefix */
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
|
/* stylelint-disable-next-line property-no-vendor-prefix */
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
|
/* stylelint-disable-next-line property-no-vendor-prefix */
|
||||||
-o-box-sizing: border-box;
|
-o-box-sizing: border-box;
|
||||||
|
/* stylelint-disable-next-line property-no-vendor-prefix */
|
||||||
-ms-box-sizing: border-box;
|
-ms-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,23 +38,7 @@
|
||||||
clearable
|
clearable
|
||||||
></el-cascader>
|
></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="possession" label="队伍层级">
|
|
||||||
<el-select v-model="addPostFactorForm.possession" placeholder="请选择队伍层级">
|
|
||||||
<el-option
|
|
||||||
v-for="item in levelList"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.value"
|
|
||||||
:value="item.value"
|
|
||||||
>
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item prop="personnum" label="人数">
|
|
||||||
<el-input-number
|
|
||||||
v-model="addPostFactorForm.personnum"
|
|
||||||
:min="1"
|
|
||||||
></el-input-number>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item prop="chkbillname" label="负责人">
|
<el-form-item prop="chkbillname" label="负责人">
|
||||||
<el-input
|
<el-input
|
||||||
placeholder="请输入负责人"
|
placeholder="请输入负责人"
|
||||||
|
|
@ -69,7 +53,13 @@
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="chkbillname" style="width: 100%" label="队伍简介">
|
<el-form-item prop="personnum" label="人数">
|
||||||
|
<el-input-number
|
||||||
|
v-model="addPostFactorForm.personnum"
|
||||||
|
:min="1"
|
||||||
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="chkbillname" style="width: 100%;" label="队伍简介">
|
||||||
<el-input
|
<el-input
|
||||||
placeholder="请输入队伍简介"
|
placeholder="请输入队伍简介"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
|
|
@ -97,12 +87,6 @@ const userId = ref(user.value.userId);
|
||||||
const planId = ref("");
|
const planId = ref("");
|
||||||
const indexClassify = ref([]);
|
const indexClassify = ref([]);
|
||||||
const fileList = ref<any>([]);
|
const fileList = ref<any>([]);
|
||||||
const levelList = ref([
|
|
||||||
{ value: "区级" },
|
|
||||||
{ value: "镇级" },
|
|
||||||
{ value: "园区" },
|
|
||||||
{ value: "企业" },
|
|
||||||
]);
|
|
||||||
const ruleForm = reactive<FormRules>({
|
const ruleForm = reactive<FormRules>({
|
||||||
teamname: [{ required: true, message: "请输入队伍名称", trigger: "change" }],
|
teamname: [{ required: true, message: "请输入队伍名称", trigger: "change" }],
|
||||||
orgcode: [{ required: true, message: "请选择所属区域", trigger: "blur" }],
|
orgcode: [{ required: true, message: "请选择所属区域", trigger: "blur" }],
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="percentage-content">
|
<div class="percentage-content">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div style="margin-bottom: 16px" class="h-layout space-between h-center">
|
<div style="margin-bottom: 16px;" class="h-layout space-between h-center">
|
||||||
<div>
|
<div>
|
||||||
<div class="h-layout">
|
<div class="h-layout">
|
||||||
<div class="tool-item" @click="(dialogVisible = true), (form = {})">
|
<div class="tool-item" @click="(dialogVisible = true), (form = {})">
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 30%">
|
<div style="width: 30%;">
|
||||||
<div>
|
<div>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search"
|
v-model="search"
|
||||||
|
|
@ -53,7 +53,7 @@
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="orgcode"
|
prop="areaName"
|
||||||
:resizable="true"
|
:resizable="true"
|
||||||
align="center"
|
align="center"
|
||||||
label="所属区域"
|
label="所属区域"
|
||||||
|
|
@ -183,6 +183,7 @@ const todetail = (id) => {
|
||||||
const onclone = () => {
|
const onclone = () => {
|
||||||
dialogVisible.value = false;
|
dialogVisible.value = false;
|
||||||
form.value = {};
|
form.value = {};
|
||||||
|
getList();
|
||||||
};
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList();
|
getList();
|
||||||
|
|
@ -194,15 +195,12 @@ onMounted(() => {
|
||||||
// flex: auto;
|
// flex: auto;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0.26042vw;
|
border-radius: 0.26042vw;
|
||||||
box-shadow: 0 0 0.41667vw 0 rgba(8, 33, 85, 0.1);
|
box-shadow: 0 0 0.41667vw 0 rgb(8 33 85 / 10%);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0.83333vw;
|
padding: 0.83333vw;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
overflow-x: hidden !important;
|
overflow-x: hidden !important;
|
||||||
-moz-box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-o-box-sizing: border-box;
|
|
||||||
-ms-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -57,30 +57,6 @@
|
||||||
clearable
|
clearable
|
||||||
></el-cascader>
|
></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="队伍层级">
|
|
||||||
<el-select
|
|
||||||
:readonly="!readonly"
|
|
||||||
v-model="detailForm.possession"
|
|
||||||
placeholder="请选择队伍层级"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in levelList"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.value"
|
|
||||||
:value="item.value"
|
|
||||||
>
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="人数" prop="personnum">
|
|
||||||
<el-input
|
|
||||||
type="number"
|
|
||||||
min="0"
|
|
||||||
:readonly="!readonly"
|
|
||||||
v-model="detailForm.personnum"
|
|
||||||
onkeyup="value=value.replace(/[^\d^\.]+/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="负责人">
|
<el-form-item label="负责人">
|
||||||
<el-input
|
<el-input
|
||||||
:readonly="!readonly"
|
:readonly="!readonly"
|
||||||
|
|
@ -93,7 +69,16 @@
|
||||||
v-model="detailForm.principaltel"
|
v-model="detailForm.principaltel"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="队伍简介" style="width: 100%">
|
<el-form-item label="人数" prop="personnum">
|
||||||
|
<el-input
|
||||||
|
type="number"
|
||||||
|
min="0"
|
||||||
|
:readonly="!readonly"
|
||||||
|
v-model="detailForm.personnum"
|
||||||
|
onkeyup="value=value.replace(/[^\d^\.]+/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="队伍简介" style="width: 100%;">
|
||||||
<el-input
|
<el-input
|
||||||
:readonly="!readonly"
|
:readonly="!readonly"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
|
|
@ -136,7 +121,7 @@
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
border
|
border
|
||||||
header-row-class-name="el-one-header"
|
header-row-class-name="el-one-header"
|
||||||
style="width: 100%; margin-top: 30px"
|
style="width: 100%; margin-top: 30px;"
|
||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" align="center" width="55">
|
<el-table-column type="selection" align="center" width="55">
|
||||||
|
|
@ -307,12 +292,6 @@ const ruleForm = reactive<FormRules>({
|
||||||
personnum: [{ required: true, message: "请输入人数", trigger: "change" }],
|
personnum: [{ required: true, message: "请输入人数", trigger: "change" }],
|
||||||
});
|
});
|
||||||
const readonly = ref(false);
|
const readonly = ref(false);
|
||||||
const levelList = ref([
|
|
||||||
{ value: "区级" },
|
|
||||||
{ value: "镇级" },
|
|
||||||
{ value: "园区" },
|
|
||||||
{ value: "企业" },
|
|
||||||
]);
|
|
||||||
const tableDataloading = ref(false);
|
const tableDataloading = ref(false);
|
||||||
const tableData = ref([]);
|
const tableData = ref([]);
|
||||||
|
|
||||||
|
|
@ -447,15 +426,14 @@ onMounted(() => {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0.26042vw;
|
border-radius: 0.26042vw;
|
||||||
box-shadow: 0 0 0.41667vw 0 rgba(8, 33, 85, 0.1);
|
box-shadow: 0 0 0.41667vw 0 rgb(8 33 85 / 10%);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0.83333vw;
|
padding: 0.83333vw;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
overflow-x: hidden !important;
|
overflow-x: hidden !important;
|
||||||
-moz-box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-webkit-box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-o-box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-ms-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
.detailForm-content {
|
.detailForm-content {
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,7 @@ function handleLogin() {
|
||||||
path: "/home/index",
|
path: "/home/index",
|
||||||
});
|
});
|
||||||
router.go(0);
|
router.go(0);
|
||||||
|
|
||||||
})
|
})
|
||||||
.catch((res) => {
|
.catch((res) => {
|
||||||
getCode();
|
getCode();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user