new commit

This commit is contained in:
saeid
2019-07-16 14:14:31 +04:30
parent a9c9c9b6d3
commit ff1aaa74cc
14 changed files with 396 additions and 314 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -43,7 +43,7 @@
/******/ /******/
/******/ // script path function /******/ // script path function
/******/ function jsonpScriptSrc(chunkId) { /******/ function jsonpScriptSrc(chunkId) {
/******/ return __webpack_require__.p + "js/vue/chunks/" + ({}[chunkId]||chunkId) + "." + {"0":"b47d9eaedcbd0f34d95c","1":"1a2ec2568db9e0d01036","2":"4f5525aabb9601dde4be","3":"02c941910d5eee1fceff","4":"df99230719144eec9812","5":"29e184ef07c70ad44e82","6":"2e3cea1e2ee220bcd12d","7":"c74631f669aa8185d603","8":"8e259fe897cde698bfc3","9":"5059ce6d2ab207088c31","10":"1222a2375fd940705a78","11":"a447fe0b0f0e846ad8b1","12":"ab3efed496c91cd795a5","13":"dfe16420782798d2be26","14":"0f6eeb76c4839e34f069","15":"ea55482413b70efcb3f7","16":"a81c0a25caa8d6957a37","17":"39ae6a640f4f7aee70ef","18":"b836f822bb8c2a3c29b5","19":"c27e4577cf5fbce49df4","20":"5ebb0d270ca28e346931","21":"4eab9f986d73cdfc57b2","22":"45e250b6a4deec80f3f9","23":"b317c50e2d5001c94f6c","24":"d46a5a5f496271a8198c","25":"5e531b62fd7cb4562c0d"}[chunkId] + ".js" /******/ return __webpack_require__.p + "js/vue/chunks/" + ({}[chunkId]||chunkId) + "." + {"0":"b47d9eaedcbd0f34d95c","1":"1a2ec2568db9e0d01036","2":"4f5525aabb9601dde4be","3":"02c941910d5eee1fceff","4":"df99230719144eec9812","5":"29e184ef07c70ad44e82","6":"2e3cea1e2ee220bcd12d","7":"9ef0114b3eb1b40652cd","8":"8e259fe897cde698bfc3","9":"5059ce6d2ab207088c31","10":"1222a2375fd940705a78","11":"a447fe0b0f0e846ad8b1","12":"ab3efed496c91cd795a5","13":"dfe16420782798d2be26","14":"0f6eeb76c4839e34f069","15":"ea55482413b70efcb3f7","16":"a81c0a25caa8d6957a37","17":"39ae6a640f4f7aee70ef","18":"b836f822bb8c2a3c29b5","19":"c27e4577cf5fbce49df4","20":"5ebb0d270ca28e346931","21":"4eab9f986d73cdfc57b2","22":"45e250b6a4deec80f3f9","23":"700cf55012ee90e7a0ba","24":"d46a5a5f496271a8198c","25":"5e531b62fd7cb4562c0d"}[chunkId] + ".js"
/******/ } /******/ }
/******/ /******/
/******/ // The require function /******/ // The require function
+123 -41
View File
@@ -46,15 +46,14 @@
<v-flex xs12 sm4 md4> <v-flex xs12 sm4 md4>
<v-text-field <v-text-field
name="autoclave" name="autoclave"
v-model="formData.autoclave_id" v-model="form.device_id"
label="ID AutoClave" :label="form.device_label"
color="black" color="black"
class="pa-2" class="pa-2"
></v-text-field> ></v-text-field>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4> <v-flex xs12 sm4 md4>
<v-text-field <v-text-field
:items="result"
v-model="formData.cycle_number " v-model="formData.cycle_number "
label="Cycle Number" label="Cycle Number"
color="black" color="black"
@@ -62,25 +61,26 @@
></v-text-field> ></v-text-field>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4> <v-flex xs12 sm4 md4>
<v-select <v-switch
:items="result"
v-model="formData.result" v-model="formData.result"
label="Result" :label="'Result: ' + ((formData.result) ? 'Accept' : 'Reject')"
color="black" ></v-switch>
class="pa-2"
></v-select>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4> <v-flex xs12 sm12 md12>
<div> <div>
<input type="file" class="inputfile" @change="onFileChange" multiple /> <input type="file" class="inputfile" @change="onFileChange" multiple />
<label f or="file"><v-icon class="v-icon greylighten-3--text mr-2 caption IconHover">fas fa-chevron-right</v-icon>Choose a file</label> <label for="file">
<v-icon
class="v-icon greylighten-3--text mr-2 caption IconHover"
>fas fa-chevron-right</v-icon>Choose a file
</label>
</div> </div>
<div > <v-layout>
<div v-for="(img, key) in images" :key="key"> <v-flex v-for="(img, key) in images" :key="key" xs12 sm6 md3>
<img :src="img" style="width:100%;" /> <img :src="img" style="width:100%;" />
<button @click="removeImage(key)">Remove image</button> <button @click="removeImage(key)">Remove image</button>
</div> </v-flex>
</div> </v-layout>
</v-flex> </v-flex>
<v-flex :class="['pa-2', item.size]" v-for="(item, key) in form" :key="key"> <v-flex :class="['pa-2', item.size]" v-for="(item, key) in form" :key="key">
<v-text-field <v-text-field
@@ -127,11 +127,12 @@
></v-switch> ></v-switch>
</v-container> </v-container>
<v-container fluid v-if="item.type == 'Range'"> <v-container fluid v-if="item.type == 'Range'">
<p>{{ item.name }}</p>
<v-flex xs12> <v-flex xs12>
<v-slider <v-slider
v-model="formData[item.name+'_'+item.id]" v-model="formData[item.name+'_'+item.id]"
:min="item.options[0].id" :min="item.options[0].title"
:max="item.options[1].id" :max="item.options[1].title"
thumb-label="always" thumb-label="always"
></v-slider> ></v-slider>
</v-flex> </v-flex>
@@ -178,6 +179,43 @@
:value="optionValue.id" :value="optionValue.id"
></v-checkbox> ></v-checkbox>
</v-container> </v-container>
<v-container fluid v-if="children.type == 'Radiobutton'">
<p>{{ children.name }}</p>
<v-radio-group
v-model="formData[children.name+'_'+children.id]"
>
<v-radio
v-for="(optionValue, keyOption) in children.options"
:key="keyOption"
:label="optionValue.title"
:value="optionValue.id"
></v-radio>
</v-radio-group>
</v-container>
<v-container fluid v-if="children.type == 'Switch'">
<v-switch
v-model="formData[children.name+'_'+children.id]"
:label="children.name + ': ' + formData[children.name+'_'+children.id].toString()"
></v-switch>
</v-container>
<v-container fluid v-if="children.type == 'Range'">
<p>{{ item.name }}</p>
<v-flex xs12>
<v-slider
v-model="formData[children.name+'_'+children.id]"
:min="children.options[0].title"
:max="children.options[1].title"
thumb-label="always"
></v-slider>
</v-flex>
</v-container>
<v-container fluid v-if="children.type == 'Time'">
<v-flex xs12>
<v-time-picker
v-model="formData[children.name+'_'+children.id]"
></v-time-picker>
</v-flex>
</v-container>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-container> </v-container>
@@ -188,7 +226,11 @@
<v-divider></v-divider> <v-divider></v-divider>
</v-layout> </v-layout>
<v-layout align-center justify-center wrap class="px-5 mt-2"> <v-layout align-center justify-center wrap class="px-5 mt-2">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px" @click="submitForm"> <v-btn
class="WM-CyanBlueGradient-BG"
style="padding:10px 60px"
@click="submitForm"
>
<v-icon class="white--text mr-2 caption">fas fa-check</v-icon> <v-icon class="white--text mr-2 caption">fas fa-check</v-icon>
<span class="white--text">SAVE</span> <span class="white--text">SAVE</span>
</v-btn> </v-btn>
@@ -208,7 +250,6 @@ import { ApiService } from "@/services";
import { urls } from "@/config/urls"; import { urls } from "@/config/urls";
export default { export default {
data: () => ({ data: () => ({
result: ["Accept", "Reject"],
testTypeNames: [], testTypeNames: [],
searchInput: "", searchInput: "",
form: [], form: [],
@@ -218,13 +259,14 @@ export default {
unique_code: "" unique_code: ""
}, },
formData: { formData: {
autoclave_id: "", device_id: "",
device_label: "AutoClaveID or WasherID",
result: "", result: "",
cycle_number: "", cycle_number: "",
img: null, img: null,
test_type_id: "", test_type_id: ""
}, },
images: [], images: []
}), }),
created() { created() {
if (this.$route.params.testResult) { if (this.$route.params.testResult) {
@@ -232,7 +274,6 @@ export default {
this.selectTestType(); this.selectTestType();
} }
this.load(); this.load();
}, },
methods: { methods: {
async load() { async load() {
@@ -246,25 +287,62 @@ export default {
this.formData.test_type_id = result.data.data.testType.id; this.formData.test_type_id = result.data.data.testType.id;
for (const key in result.data.data.inputs) { for (const key in result.data.data.inputs) {
if (result.data.data.inputs.hasOwnProperty(key)) { if (result.data.data.inputs.hasOwnProperty(key)) {
if(result.data.data.inputs[key].type == 'Form') { if (result.data.data.inputs[key].type == "Form") {
for (const keyForm in result.data.data.inputs[key].children) { for (const keyForm in result.data.data.inputs[key]
if (result.data.data.inputs[key].children.hasOwnProperty(keyForm)) { .children) {
if (result.data.data.inputs[key].children[keyForm].type == 'Checkbox' || result.data.data.inputs[key].children[keyForm].type == 'Select' ) { if (
this.formData[result.data.data.inputs[key].children[keyForm].name +'_'+ result.data.data.inputs[key].children[keyForm].id] = []; result.data.data.inputs[
key
].children.hasOwnProperty(keyForm)
) {
if (
result.data.data.inputs[key].children[
keyForm
].type == "Checkbox" ||
result.data.data.inputs[key].children[
keyForm
].type == "Select"
) {
this.formData[
result.data.data.inputs[key]
.children[keyForm].name +
"_" +
result.data.data.inputs[key]
.children[keyForm].id
] = [];
} else { } else {
this.formData[result.data.data.inputs[key].children[keyForm].name +'_'+ result.data.data.inputs[key].children[keyForm].id] = ''; this.formData[
result.data.data.inputs[key]
.children[keyForm].name +
"_" +
result.data.data.inputs[key]
.children[keyForm].id
] = "";
} }
} }
} }
} else if(result.data.data.inputs[key].type == 'Checkbox' || result.data.data.inputs[key].type == 'Select') { } else if (
this.formData[result.data.data.inputs[key].name +'_'+ result.data.data.inputs[key].id] = []; result.data.data.inputs[key].type == "Checkbox" ||
result.data.data.inputs[key].type == "Select"
) {
this.formData[
result.data.data.inputs[key].name +
"_" +
result.data.data.inputs[key].id
] = [];
} else { } else {
this.formData[result.data.data.inputs[key].name +'_'+ result.data.data.inputs[key].id] = ''; this.formData[
result.data.data.inputs[key].name +
"_" +
result.data.data.inputs[key].id
] = "";
} }
} }
} }
if (this.$route.params.testResult) { if (this.$route.params.testResult) {
const result = await ApiService.get(urls.editTestResult(this.$route.params.testResult)); const result = await ApiService.get(
urls.editTestResult(this.$route.params.testResult)
);
if (result && result.status == 200) { if (result && result.status == 200) {
this.formData = result.data.data; this.formData = result.data.data;
} }
@@ -274,32 +352,36 @@ export default {
async submitForm() { async submitForm() {
let result; let result;
if (this.$route.params.testResult) { if (this.$route.params.testResult) {
result = await ApiService.put(urls.updateTestResult(this.$route.params.testResult), this.formData); result = await ApiService.put(
urls.updateTestResult(this.$route.params.testResult),
this.formData
);
} else { } else {
result = await ApiService.post(urls.storeTestResult, this.formData); result = await ApiService.post(
urls.storeTestResult,
this.formData
);
} }
if (result && result.status == 200) { if (result && result.status == 200) {
this.$router.push({name: 'Dashboard'}) this.$router.push({ name: "Dashboard" });
} }
}, },
onFileChange(e) { onFileChange(e) {
var files = e.target.files || e.dataTransfer.files; var files = e.target.files || e.dataTransfer.files;
if (!files.length) if (!files.length) return;
return;
for (const key in files) { for (const key in files) {
if (files.hasOwnProperty(key)) { if (files.hasOwnProperty(key)) {
this.createImage(files[key], key); this.createImage(files[key], key);
} }
} }
}, },
createImage(file, index) { createImage(file, index) {
var image = new Image(); var image = new Image();
var reader = new FileReader(); var reader = new FileReader();
var vm = this; var vm = this;
reader.onload = (e) => { reader.onload = e => {
vm.images.push(e.target.result); vm.images.push(e.target.result);
}; };
@@ -307,7 +389,7 @@ export default {
}, },
removeImage(index) { removeImage(index) {
this.images.splice(index, 1); this.images.splice(index, 1);
}, }
}, },
watch: { watch: {
images(img) { images(img) {
+11 -11
View File
@@ -136,7 +136,6 @@
row row
wrap wrap
class="WM-Relative WM-Width-Full" class="WM-Relative WM-Width-Full"
v-if="info['options'].length > 0"
> >
<v-flex <v-flex
xs12 xs12
@@ -381,13 +380,13 @@ export default {
], ],
size: [ size: [
{ state: "not Selected", abbr: "" }, { state: "not Selected", abbr: "" },
{ state: "2 as 12", abbr: "md2 xs12" }, { state: "2 from 12", abbr: "md2 xs12" },
{ state: "3 as 12", abbr: "md3 xs12" }, { state: "3 from 12", abbr: "md3 xs12" },
{ state: "4 as 12", abbr: "md4 xs12" }, { state: "4 from 12", abbr: "md4 xs12" },
{ state: "6 as 12", abbr: "md6 xs12" }, { state: "6 from 12", abbr: "md6 xs12" },
{ state: "8 as 12", abbr: "md8 xs12" }, { state: "8 from 12", abbr: "md8 xs12" },
{ state: "10 as 12", abbr: "md10 xs12" }, { state: "10 from 12", abbr: "md10 xs12" },
{ state: "10 as 12", abbr: "md12 xs12" } { state: "12 from 12", abbr: "md12 xs12" }
], ],
rules: { rules: {
required: value => !!value || "Required." required: value => !!value || "Required."
@@ -404,7 +403,7 @@ export default {
if (selectedboxType == "Select" || selectedboxType == "Checkbox" || selectedboxType == "Radiobutton") { if (selectedboxType == "Select" || selectedboxType == "Checkbox" || selectedboxType == "Radiobutton") {
this.form.info[infoIndex]["options"] = [{ id: 0, title: "" }]; this.form.info[infoIndex]["options"] = [{ id: 0, title: "" }];
} else if(selectedboxType == "Range") { } else if(selectedboxType == "Range") {
this.form.info[infoIndex]["options"] = [{ id: 0, from: "", to: "" }]; this.form.info[infoIndex]["options"] = [{ id: 0, title: ""}, { id: 0, title: ""}];
} else { } else {
this.form.info[infoIndex]["options"] = []; this.form.info[infoIndex]["options"] = [];
} }
@@ -437,11 +436,12 @@ export default {
{ id: 0, title: "" } { id: 0, title: "" }
]; ];
this.form = form; this.form = form;
} else if(type == "Rang") { } else if(type == "Range") {
let form = this.form; let form = this.form;
this.form = ""; this.form = "";
form.info[infoIndex]["children"][formLevel]["options"] = [ form.info[infoIndex]["children"][formLevel]["options"] = [
{ id: 0, from: "", to: "" } { id: 0, title: "" },
{ id: 0, title: "" },
]; ];
this.form = form; this.form = form;
} else { } else {