-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
@@ -23,33 +25,11 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
搜索
重置
@@ -81,7 +61,7 @@
-
+
@@ -92,12 +72,12 @@
-
-
-
+
+
+
-
+
修改
@@ -147,7 +127,7 @@
-
+
@@ -155,18 +135,19 @@
-
+
-
+
-
-
+
+
-
+
@@ -215,18 +196,20 @@
-
+
-
+
-
+
-
+
@@ -250,7 +233,7 @@ import { listProProjectInfoSubdeptsGroup } from "@/api/manage/proProjectInfoSubd
import useUserStore from '@/store/modules/user'
const userStore = useUserStore()
const { proxy } = getCurrentInstance();
-const { sys_use_status, pro_craft_type, sys_is_del, pro_craft_post,certificate_type,educational_type } = proxy.useDict('sys_use_status', 'pro_craft_type', 'sys_is_del', 'pro_craft_post','certificate_type','educational_type');
+const { sys_use_status, pro_craft_type, sys_is_del, pro_craft_post, certificate_type, educational_type } = proxy.useDict('sys_use_status', 'pro_craft_type', 'sys_is_del', 'pro_craft_post', 'certificate_type', 'educational_type');
const proProjectInfoSubdeptsUsersList = ref([]);
const open = ref(false);
@@ -272,11 +255,11 @@ const data = reactive({
subDeptName: null,
userId: null,
userName: null,
- bankOffice:'',
+ bankOffice: '',
craftTypeName: null,
craftType: null,
craftPostName: null,
- craftPost:null,
+ craftPost: null,
eduStatus: null,
eduFilePath: null,
eduSignPath: null,
@@ -289,36 +272,37 @@ const data = reactive({
isDel: null,
},
rules: {
- subDeptId:[{required: true, trigger: ['blur', 'change'],message:"请选择所属单位"}],
- userName:[{required: true, trigger: ['blur', 'change'],message:"请输入姓名"}],
- userPhone:[{required: true, trigger: ['blur', 'change'],message:"请输入联系电话"}],
- certificateCode:[{required: true, trigger: ['blur', 'change'],message:"请输入证件号码"}],
- craftPost:[{required: true, trigger: ['blur', 'change'],message:"请输选择工种"}],
- identificationCard:[{required: true, trigger: ['blur', 'change'],message:"请上传身份证信息"}],
- subDeptGroup:[{required: true, trigger: ['blur', 'change'],message:"请选择班组"}],
+ subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }],
+ userName: [{ required: true, trigger: ['blur', 'change'], message: "请输入姓名" }],
+ userPhone: [{ required: true, trigger: ['blur', 'change'], message: "请输入联系电话" }],
+ certificateCode: [{ required: true, trigger: ['blur', 'change'], message: "请输入证件号码" }],
+ craftPost: [{ required: true, trigger: ['blur', 'change'], message: "请输选择工种" }],
+ identificationCard: [{ required: true, trigger: ['blur', 'change'], message: "请上传身份证信息" }],
+ subDeptGroup: [{ required: true, trigger: ['blur', 'change'], message: "请选择班组" }],
},
subdepts: [],
deptGroups: [],
+ queryDeptGroups: [],
certificateTypeOpts: "身份证".split(","),
nationOpts: '汉族,壮族,满族,回族,苗族,维吾尔族,土家族,彝族,蒙古族,藏族,布依族,侗族,瑶族,朝鲜族,白族,哈尼族,哈萨克族,黎族,傣族,畲族,傈僳族,仡佬族,东乡族,高山族,拉祜族,水族,佤族,纳西族,羌族,土族,仫佬族,锡伯族,柯尔克孜族,达斡尔族,景颇族,毛南族,撒拉族,布朗族,塔吉克族,阿昌族,普米族,鄂温克族,怒族,京族,基诺族,德昂族,保安族,俄罗斯族,裕固族,乌孜别克族,门巴族,鄂伦春族,独龙族,塔塔尔族,赫哲族,珞巴族'.split(","),
sexOpts: "男,女".split(","),
- isManager:false,
+ isManager: false,
});
const { queryParams, form, rules } = toRefs(data);
//图片上传
-function doImageUpload(){
- setTimeout(()=>{
- form.value.identificationCard= form.value.certificatePhoto1 && form.value.certificatePhoto2&& form.value.faceImage ?"yes":''
- },800);
+function doImageUpload() {
+ setTimeout(() => {
+ form.value.identificationCard = form.value.certificatePhoto1 && form.value.certificatePhoto2 && form.value.faceImage ? "yes" : ''
+ }, 800);
}
/** 查询分包单位工人列表 */
function getList() {
loading.value = true;
listProProjectInfoSubdeptsUsers(queryParams.value).then(response => {
- proProjectInfoSubdeptsUsersList.value = response.rows||[];
+ proProjectInfoSubdeptsUsersList.value = response.rows || [];
total.value = response.total;
loading.value = false;
});
@@ -344,81 +328,92 @@ function reset() {
subDeptGroup: '',//班组ID
groupName: '',//班组名称
craftTypeName: '',//岗位
- craftType:'',//岗位编号
+ craftType: '',//岗位编号
craftPostName: '',//工种
- craftPost:'',//工种编号
+ craftPost: '',//工种编号
nation: '',//民族
age: 20,//年龄
sex: '',//性别
educationalType: '',//文件程度
- birthDay:'',//出生日期
- nativePlace:'',//籍贯
- address:'',//家庭地址
- emergencyContact:'',//紧急联系人
- contactPhone:'',//紧急联系人电话
- bankName:'',//工资卡银行
- bankCardNo:'',//工资卡号
- bankOffice:'',//开户网点
+ birthDay: '',//出生日期
+ nativePlace: '',//籍贯
+ address: '',//家庭地址
+ emergencyContact: '',//紧急联系人
+ contactPhone: '',//紧急联系人电话
+ bankName: '',//工资卡银行
+ bankCardNo: '',//工资卡号
+ bankOffice: '',//开户网点
};
proxy.resetForm("proProjectInfoSubdeptsUsersRef");
}
//选择所属单位
-function doSubDeptChange() {
- if (!form.value.subDeptId) {
- data.deptGroups = [];
- form.value.subDeptId="";
- form.value.groupName="";
- form.value.craftPostName="";
- form.value.craftTypeName="";
- form.value.craftType="";
- form.value.craftPost="";
- return;
- }
- listProProjectInfoSubdeptsGroup({subDeptId:form.value.subDeptId,pageNum:1,pageSize:100}).then(d=>{
- data.deptGroups=d.rows||[];
- if(data.deptGroups.length>0){
- let dg=data.deptGroups[0];
- form.value.subDeptId=dg.id;
- form.value.groupName=dg.groupName;
- form.value.craftTypeName=getCraftType(dg.craftType);
- form.value.craftPostName=getCraftPost(dg.craftPost).label;
- form.value.craftType=dg.craftType;
- form.value.craftPost=dg.craftPost
- data.isManager=!dg.craftPost
-
+function doSubDeptChange(type) {
+ if(type=="query"){
+ if(!queryParams.value.subDeptId){
+ data.queryDeptGroups=[];
+ return;
+ }
+ }else{
+ if ( !form.value.subDeptId) {
+ data.deptGroups = [];
+ form.value.subDeptId = "";
+ form.value.groupName = "";
+ form.value.craftPostName = "";
+ form.value.craftTypeName = "";
+ form.value.craftType = "";
+ form.value.craftPost = "";
+ return;
+ }
+}
+ listProProjectInfoSubdeptsGroup({ subDeptId:type=="query"?queryParams.value.subDeptId: form.value.subDeptId, pageNum: 1, pageSize: 100 }).then(d => {
+ if (type == "query") {
+ data.queryDeptGroups = d.rows || [];
+ } else {
+ data.deptGroups = d.rows || [];
+ if (data.deptGroups.length > 0) {
+ let dg = data.deptGroups[0];
+ form.value.subDeptId = dg.id;
+ form.value.groupName = dg.groupName;
+ form.value.craftTypeName = getCraftType(dg.craftType);
+ form.value.craftPostName = getCraftPost(dg.craftPost).label;
+ form.value.craftType = dg.craftType;
+ form.value.craftPost = dg.craftPost
+ data.isManager = !dg.craftPost
+
+ }
}
});
}
-function doDeptGroupChange(){
- data.isManager=false
- if(!form.value.subDeptGroup){
- form.value.groupName="";
- form.value.craftPostName="";
- form.value.craftTypeName="";
- form.value.craftType="";
- form.value.craftPost="";
+function doDeptGroupChange() {
+ data.isManager = false
+ if (!form.value.subDeptGroup) {
+ form.value.groupName = "";
+ form.value.craftPostName = "";
+ form.value.craftTypeName = "";
+ form.value.craftType = "";
+ form.value.craftPost = "";
return;
}
- let tmps=data.deptGroups.filter(d=>d.id==form.value.subDeptGroup);
- if(tmps.length>0){
- let dg=tmps[0];
- form.value.groupName=dg.groupName;
- form.value.craftTypeName=getCraftType(dg.craftType);
- form.value.craftPostName=getCraftPost(dg.craftPost);
- form.value.craftPost=dg.craftPost
- form.value.craftType=dg.craftType;
- data.isManager=!dg.craftPost;
+ let tmps = data.deptGroups.filter(d => d.id == form.value.subDeptGroup);
+ if (tmps.length > 0) {
+ let dg = tmps[0];
+ form.value.groupName = dg.groupName;
+ form.value.craftTypeName = getCraftType(dg.craftType);
+ form.value.craftPostName = getCraftPost(dg.craftPost);
+ form.value.craftPost = dg.craftPost
+ form.value.craftType = dg.craftType;
+ data.isManager = !dg.craftPost;
}
}
-function getCraftType(id){
- let tmps=pro_craft_type.value.filter(d=>d.value==id);
- return tmps.length>0?tmps[0].label:"";
+function getCraftType(id) {
+ let tmps = pro_craft_type.value.filter(d => d.value == id);
+ return tmps.length > 0 ? tmps[0].label : "";
}
-function getCraftPost(id){
- let tmps=pro_craft_post.value.filter(d=>d.value==id);
- return tmps.length>0?tmps[0].label:"";
+function getCraftPost(id) {
+ let tmps = pro_craft_post.value.filter(d => d.value == id);
+ return tmps.length > 0 ? tmps[0].label : "";
}
/** 搜索按钮操作 */
@@ -443,10 +438,10 @@ function handleSelectionChange(selection) {
function loadSubDepts(cb) {
listProProjectInfoSubdepts({ projectId: userStore.currentProId, pageNum: 1, pageSize: 100 }).then(d => {
data.subdepts = d.rows || [];
- if(data.subdepts.length>0){
- let sd=data.subdepts[0];
- form.value.subDeptId=sd.id;
- doSubDeptChange();
+ if (data.subdepts.length > 0) {
+ let sd = data.subdepts[0];
+ form.value.subDeptId = sd.id;
+ doSubDeptChange();
}
cb && cb();
});
@@ -459,8 +454,8 @@ function handleAdd() {
return false;
}
reset();
- loadSubDepts();
- form.value.certificateType = "";
+
+ form.value.certificateType = "";
form.value.projectId = userStore.currentProId;
form.value.projectName = userStore.currentProName;
form.value.nation = data.nationOpts[0];
@@ -472,18 +467,16 @@ function handleAdd() {
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
- loadSubDepts(()=>{
- const _id = row.id || ids.value
- getProProjectInfoSubdeptsUsers(_id).then(response => {
- form.value =JSON.parse(JSON.stringify( response.data));
- open.value = true;
- title.value = "修改劳务人员信息";
- doImageUpload();
- doDeptGroupChange();
- setTimeout(()=>{
- form.value.craftPost=response.data.craftPost;
- },400);
- });
+ const _id = row.id || ids.value
+ getProProjectInfoSubdeptsUsers(_id).then(response => {
+ form.value = JSON.parse(JSON.stringify(response.data));
+ open.value = true;
+ title.value = "修改劳务人员信息";
+ doImageUpload();
+ doDeptGroupChange();
+ setTimeout(() => {
+ form.value.craftPost = response.data.craftPost;
+ }, 400);
});
}
@@ -491,11 +484,11 @@ function handleUpdate(row) {
function submitForm() {
proxy.$refs["proProjectInfoSubdeptsUsersRef"].validate(valid => {
if (valid) {
- let depts=data.subdepts.filter(d=>d.id==form.value.subDeptId);
- form.value.subDeptName=depts.length>0?depts[0].subDeptName:'';
- form.value.comId=depts.length>0?depts[0].comId:'';
- let groups=data.deptGroups.filter(d=>d.id==form.value.subDeptGroup);
- form.value.subDeptGroupName=groups.length>0?groups[0].groupName:'';
+ let depts = data.subdepts.filter(d => d.id == form.value.subDeptId);
+ form.value.subDeptName = depts.length > 0 ? depts[0].subDeptName : '';
+ form.value.comId = depts.length > 0 ? depts[0].comId : '';
+ let groups = data.deptGroups.filter(d => d.id == form.value.subDeptGroup);
+ form.value.subDeptGroupName = groups.length > 0 ? groups[0].groupName : '';
if (form.value.id != null) {
updateProProjectInfoSubdeptsUsers(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
@@ -532,6 +525,7 @@ function handleExport() {
}
getList();
+loadSubDepts();