|
@@ -0,0 +1,189 @@
|
|
|
+<template>
|
|
|
+ <div class="list-wrap">
|
|
|
+ <div class="list-item" v-for="(item, index) in myFormList" :key="index">
|
|
|
+ <k-form-build
|
|
|
+ :dynamicData="item.template.dfFormSql || {}"
|
|
|
+ :defaultValue="item.template.defaultValue"
|
|
|
+ class="formBuild"
|
|
|
+ ref="addFromRef"
|
|
|
+ :value="item.template.dfVueTemplate"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <el-divider></el-divider>
|
|
|
+ <!-- <div class="log-list"></div> -->
|
|
|
+ <el-descriptions
|
|
|
+ v-for="(item, index) in nodeLogList"
|
|
|
+ :key="index"
|
|
|
+ :title="item.taskNodeName"
|
|
|
+ >
|
|
|
+ <el-descriptions-item label="审批人">{{
|
|
|
+ item.createBy
|
|
|
+ }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="审批结果">{{
|
|
|
+ statusObj[item.taskNodeOtherState]
|
|
|
+ }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="审批意见">{{
|
|
|
+ item.taskRemark || "无"
|
|
|
+ }}</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+// import formList from "@/assets/js/formArray";
|
|
|
+import { camelCase, toUnderline } from "@/utils/index";
|
|
|
+import { disableFormItem } from "@/utils/kFormDesign";
|
|
|
+export default {
|
|
|
+ name: "FormDetail",
|
|
|
+ props: {
|
|
|
+ formList: {
|
|
|
+ type: Array,
|
|
|
+ default: () => {
|
|
|
+ return [];
|
|
|
+ },
|
|
|
+ },
|
|
|
+ nodeLogList: {
|
|
|
+ type: Array,
|
|
|
+ default: () => {
|
|
|
+ return [];
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ components: {},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ // formList: [
|
|
|
+ // {
|
|
|
+ // formJson: formList,
|
|
|
+ // },
|
|
|
+ // ],
|
|
|
+ form: {
|
|
|
+ approvalStatus: "", //审批结果
|
|
|
+ approvalRemark: "", //审批备注
|
|
|
+ },
|
|
|
+ statusOptions: [
|
|
|
+ {
|
|
|
+ value: "pass",
|
|
|
+ label: "通过",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "noPass",
|
|
|
+ label: "不通过",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "reject",
|
|
|
+ label: "驳回",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ statusObj: {
|
|
|
+ pass: "通过",
|
|
|
+ noPass: "不通过",
|
|
|
+ reject: "驳回",
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ approvalStatus: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请选择审批结果",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ approvalRemark: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入审批备注",
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ defaultValue: {}, //表单默认值
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ myFormList() {
|
|
|
+ return this.disableHandler(this.formList);
|
|
|
+ // this.formList.forEach((item) => {
|
|
|
+ // item.template.dfFormSql = JSON.parse(item.template.dfFormSql);
|
|
|
+ // item.template.dfVueTemplate = JSON.parse(item.template.dfVueTemplate);
|
|
|
+ // });
|
|
|
+ // return this.formList;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param {array} formList 表单列表
|
|
|
+ * @return {array} 处理后的表单列表-添加disable属性
|
|
|
+
|
|
|
+ */
|
|
|
+ disableHandler(formList) {
|
|
|
+ this.resetForm();
|
|
|
+ if (formList.length == 0) return [];
|
|
|
+ formList.forEach((item) => {
|
|
|
+ item.template.dfFormSql = JSON.parse(item.template.dfFormSql);
|
|
|
+ item.template.dfVueTemplate = disableFormItem(
|
|
|
+ JSON.parse(item.template.dfVueTemplate)
|
|
|
+ );
|
|
|
+ item.template.defaultValue = item.template.resultMap[0]?.resultMap
|
|
|
+ ? item.template.resultMap[0].resultMap
|
|
|
+ : {};
|
|
|
+ for (const key of Object.keys(item.template.defaultValue)) {
|
|
|
+ item.template.defaultValue[toUnderline(key)] =
|
|
|
+ item.template.defaultValue[key];
|
|
|
+ }
|
|
|
+ // this.$nextTick(() => {
|
|
|
+ // Object.assign(this.defaultValue, item.template.defaultValue);
|
|
|
+ // });
|
|
|
+ // item.formInfo.jsonData = disableFormItem(item.formInfo.jsonData);
|
|
|
+ });
|
|
|
+ return formList;
|
|
|
+ },
|
|
|
+ // 获取表单信息
|
|
|
+ getformInfo() {
|
|
|
+ let res = {
|
|
|
+ flag: false,
|
|
|
+ };
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ this.$refs.form.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ // alert('submit!');
|
|
|
+ res.flag = true;
|
|
|
+ res.data = this.form;
|
|
|
+ console.log(res);
|
|
|
+ // return res;
|
|
|
+ resolve(res);
|
|
|
+ } else {
|
|
|
+ resolve(res);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 重置审批表单
|
|
|
+ resetForm() {
|
|
|
+ Object.assign(this.form, {
|
|
|
+ approvalStatus: "",
|
|
|
+ approvalRemark: "",
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mounted() {},
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+// .list-wrap {
|
|
|
+// display: flex;
|
|
|
+// flex-direction: column;
|
|
|
+// .list-item {
|
|
|
+// margin-top: 10px;
|
|
|
+// &::after {
|
|
|
+// content: "";
|
|
|
+// display: block;
|
|
|
+// border: 1px dashed #41baeb; /* 设置虚线样式 */
|
|
|
+// }
|
|
|
+// &:last-child::after {
|
|
|
+// display: none;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+</style>
|